struct GPS <: AbstractDevice end

type(::Type{GPS}) = :gps


function Base.values(dev::Device{GPS})
    v = Vector{Float64}(undef, 3)
    ret = @ccall lib.wb_gps_get_values(dev.tag::Ptr{WbDeviceTag})::Ptr{Cdouble}
    unsafe_copyto!(pointer(v), ret, 3)
    v
end

altitude(gps::Device{GPS}) = @inbounds values(gps)[3]

